package com.zxy.ziems.server.monitor.service;

import com.zxy.ziems.server.monitor.hik.HikEventNotification;
import com.zxy.ziems.server.monitor.pojo.entity.MonitorDeviceEntity;
import com.zxy.ziems.server.monitor.pojo.hik.MonitorCameraPreview;
import com.zxy.ziems.server.monitor.pojo.hik.MonitorCameraPreviewParam;
import com.zxy.ziems.server.monitor.pojo.vo.MonitorDeviceOldVO;

import java.util.List;

/**
 * 视频监控
 *
 * @author chdzq
 * @create 2023/5/24
 */
public interface MonitorDeviceService {

    /**
     * 同步监控设备设备信息
     */
    void synchronizeDevices();

    /**
     * 同步监控设备设备状态信息
     */
    void synchronizeDeviceStatus();

    /**
     * 获取监控预览流地址
     *
     * @param param
     * @return
     */
    MonitorCameraPreview getPreview(MonitorCameraPreviewParam param);

    /**
     * 处理海康上报事件
     *
     * @param notification
     */
    void processUploadEventFromHik(HikEventNotification notification);

    /**
     * 订阅事件
     */
    void subscriptionEvent();


    List<MonitorDeviceEntity> getListDo();

    /**
     * 获取监控设备
     *
     * @return
     */
    List<MonitorDeviceOldVO> getList();


}
